package com.tzstcl.gen.ctrl;

import com.github.pagehelper.PageInfo;
import com.tzstcl.base.ctrl.BaseCtrl;
import com.tzstcl.base.model.AjaxResult;
import com.tzstcl.gen.model.GenTable;
import com.tzstcl.gen.service.GenerateService;
import org.apache.shiro.authz.annotation.RequiresRoles;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

import java.util.List;

/**
 * 公司：天筑科技股份有限公司
 * 作者：zgq
 * 日期：2018年12月22日
 * 说明：代码生成
 */
@Controller
@RequestMapping("/admin/gen")
public class GenerateCtrl extends BaseCtrl {

    @Autowired
    GenerateService generateService;

    /**
     * 导航到代码生成页面
     *
     * @return
     */
    @RequiresRoles("admin")
    @RequestMapping("toTableListPage")
    public String toTableListPage() {
        return "gen/page/tableList";

    }

    /**
     * 获取本系统表名
     *
     * @return
     */
    @RequiresRoles("admin")
    @RequestMapping("getTableList")
    @ResponseBody
    public PageInfo getTableList() {
        List<?> allTables = generateService.getAllTable();
        return PageInfo.of(allTables);
    }


    /**
     * 生成代码
     *
     * @return
     */
    @RequiresRoles("admin")
    @RequestMapping("genCode")
    @ResponseBody
    public AjaxResult genCode(GenTable genTable) {
        return generateService.genCode(genTable);
    }

}
